package com.lanchetech.user.service;

import com.lanchetech.bean.request.GoodSpuListReq;
import com.lanchetech.bean.response.BaseResp;
import com.lanchetech.bean.response.ResultData;
import com.lanchetech.bean.vo.SkuPriceVO;
import com.lanchetech.common.exception.ResultCodeException;
import com.lanchetech.entity.Merchant;
import com.lanchetech.entity.ShoppingCart;
import com.lanchetech.entity.Sku;
import com.lanchetech.entity.User;
import com.lanchetech.user.config.ReturnPayInfoVO;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

public interface GlobalGoodSpuService {
    /**
     * 全球好物一级分类商品列表
     * @param goodSpuListReq
     * @return
     */
    ResultData GoodSpuList(GoodSpuListReq goodSpuListReq);

    BaseResp addAgency(User user);

    ResultData<SkuPriceVO> getPrice(User user);

    ResultData<List<Merchant>> getMerchant(long id);

    ResultData<Sku> getOrderSquare(User user,Long id);

    ResultData<Sku> getSelectionSquare(User user, Long id);

    BaseResp addToShoppingCart(User user, ShoppingCart shoppingCart);

    ResultData<ReturnPayInfoVO> createAgencyDeposit(User user, Byte type, Long userAddressId, HttpServletRequest httpServletRequest);
}
